package com.skywolf.chem.match.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.skywolf.chem.common.sysconfig.pojo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 赛事组别
 * </p>
 *
 * @author sj
 * @since 2021-09-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("match_group_info")
@ApiModel(value="GroupInfo对象", description="赛事组别")
public class GroupInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "组别名称")
    private String groupName;

    @ApiModelProperty(value = "价格")
    private BigDecimal price;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最小年龄")
    private LocalDateTime minAge;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最大年龄")
    private LocalDateTime maxAge;

    @ApiModelProperty(value = "参赛人数")
    private Integer stock;

    @ApiModelProperty(value = "锁定参赛人数")
    private Integer lockedStock;

    @ApiModelProperty(value = "初始化参赛人数")
    private Integer initStock;

    @ApiModelProperty(value = "性别 0为女 1为男  2不限")
    private Integer gender;

    @ApiModelProperty(value = "组别类型名称")
    private String groupType;

    @ApiModelProperty(value = "三级联动地址 通过-拼接(省-市-区)")
    private String address;

    @ApiModelProperty(value = "省编号-ID")
    private long provinceId;

    @ApiModelProperty(value = "市编号-ID")
    private long cityId;

    @ApiModelProperty(value = "区编号-ID")
    private long areaId;

    @ApiModelProperty(value = "详细地址")
    private String addressDetail;

    @ApiModelProperty(value = "支付类型 0为线上支付 1为线下支付")
    private Integer payType;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "比赛开始时间")
    private LocalDateTime matchStartTime;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "比赛结束时间")
    private LocalDateTime matchEndTime;

    @ApiModelProperty(value = "组别状态  0为可报名 1为报名人数已满  2为不可报名")
    private Integer groupState;

    @ApiModelProperty(value = "赛事编号")
    private long matchId;

    @ApiModelProperty(value = "兼报其他组的组名,逗号分隔")
    private String enrolls;

}
